/**
 * Created by zhoua on 2017/8/8.
 */
import { fetch, fetchForLocation } from 'utils/fetch';
function formData (data) {
  let formData = new FormData();
  for (let key in data) {
    formData.append(key, data[key])
  }
  return formData;
}

/* eslint-disable*/
export function getUserInfo(data) {
  return fetch({
    url: '/user/query',
    method: 'post',
    data
  })
}

// TODO 获取微信config
export function getWxConfig() {
  return fetch({
    url: '/pay/config',
    method: 'post',
    data: null
  })
}

// TODO 获取微信config
export function pay(data) {
  return fetch({
    url   : '/pay/getParams',
    method: 'post',
    data
  })
}

// TODO 逆地址解析
export function geocoderLocation(params) {
  return fetchForLocation({
    url   : '/external/location',
    method: 'get',
    params
  })
}

// TODO 逆地址解析
export function queryDirective(data) {
  return fetch({
    url   : '/device/query',
    method: 'post',
    data: formData(data)
  }, 'form')
}

/* ---------------------------------------------- 用户 api S ----------------------------------------------------- */

// TODO 绑定手机
export function bindPhone(data) {
  return fetch({
    url: '/user/update',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 反馈
export function feedback(data) {
  return fetch({
    url: '/feedback/add',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 订单列表
export function queryList(data) {
  return fetch({
    url: '/userOrder/list',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 查询普通用户订单列表
export function queryUserOrderList(data) {
  return fetch({
    url: '/userOrder/query/user',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 注册验证码
export function registerCode(data) {
  return fetch({
    url: '/agency/sendValidate',
    method: 'post',
    data
  })
}
// TODO 注册运营商
export function registerOper(data) {
  return fetch({
    url: '/agency/register',
    method: 'post',
    data
  })
}
/* ---------------------------------------------- 用户 api E ----------------------------------------------------- */

/* ---------------------------------------------- 代理商 api S ----------------------------------------------------- */
// TODO 查询代理商设备列表
export function queryOperDevList(data) {
  return fetch({
    url: '/userOrder/query/device',
    method: 'post',
    data
  })
}

// TODO 查看用户反馈
export function checkFeedback(data) {
  return fetch({
    url: '/feedback/list',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 提现--提现
export function cash(data) {
  return fetch({
    url: '/withdraw/addWithdrawDetail',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 提现--提现权限判断
export function priviledge(data) {
  return fetch({
    url: '/withdraw/checkWithdrawPriviledge',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 提现--获取代理商账户信息
export function getWithdrawAccount(data) {
  return fetch({
    url: '/account/getWithdrawAccount',
    method: 'get',
    params: data
  })
}

// TODO 设备--设置设备状态
export function updateDeviceStatus(data) {
  return fetch({
    url: '/userDevice/updateStatus',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 设备--设备状态使用数统计
export function queryStatus(data) {
  return fetch({
    url: 'statistics/queryStatus',
    method: 'get',
    params: data
  })
}

// TODO 设备--设备统计总数
export function queryDeviceCount(data) {
  return fetch({
    url: 'statistics/queryDevice',
    method: 'get',
    params: data
  })
}

// TODO 设备--查询设备（分页，支持参数查询）
export function queryDeviceInfo(data) {
  return fetch({
    url: '/userDevice/queryDeviceInfo',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 设备--解绑设备
export function deceteDevice(data) {
  return fetch({
    url: '/userDevice/unbind',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 设备--设置设备状态
export function updateStatus(data) {
  return fetch({
    url: '/userDevice/updateStatus',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 设备--搜索设备
export function searchDevice(data) {
  return fetch({
    url: '/userDevice/query',
    method: 'get',
    params: data
  }, 'form')
}

// TODO 设备订单--查询代理商设备订单列表
export function deviceOrder(data) {
  return fetch({
    url: '/userOrder/query/device',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 绑定--设备绑定
export function bindingDev(data) {
  return fetch({
    url: '/userDevice/bind',
    method: 'post',
    data
  })
}

// TODO 运营统计--单位查询
export function queryStatistics(data) {
  return fetch({
    url: '/statistics/query',
    method: 'get',
    params: data
  })
}

// TODO 运营统计--月份时间查询
export function queryByMonth(data) {
  return fetch({
    url: '/statistics/queryByMonth',
    method: 'get',
    params: data
  })
}

// TODO 运营统计-钱包余额
export function queryBalance(data) {
  return fetch({
    url: 'statistics/queryBalance',
    method: 'get',
    params: data
  })
}

// TODO 运营统计-当日收入
export function queryIncome(data) {
  return fetch({
    url: 'statistics/queryIncome',
    method: 'get',
    params: data
  })
}

// TODO 程序定价--设置洗衣模式价格
export function setFeePolicy(data) {
  return fetch({
    url: 'feePolicy/setFeePolicy',
    method: 'post',
    data
  })
}

// TODO 程序定价--模式价格列表(分页，支持参数查询)
export function queryFeePolicy(data) {
  return fetch({
    url: 'feePolicy/queryFeePolicy',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 程序定价--查询型号
export function queryProductModel(data) {
  return fetch({
    url: 'feePolicy/queryProductModel',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 程序定价--查询厂家
export function queryVender(data) {
  return fetch({
    url: 'feePolicy/queryVender',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 程序定价--查询模式
export function queryInstruction(data) {
  return fetch({
    url: 'feePolicy/queryInstruction',
    method: 'post',
    data: formData(data)
  }, 'form')
}

// TODO 注册运营商--成为运营商
export function becomeAgency(data) {
  return fetch({
    url: '/agency/becomeAgency',
    method: 'post',
    data: formData(data)
  }, 'form')
}
